﻿using EntGuayasSLA.BL;
using Ext.Net;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace EGuayas.Web.Auditoria.admin.Global
{
    public partial class wucPeriodicidad : ucWuc
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
            }
            catch (Exception ex)
            {
                RegistrarLog("wucPeriodicidad.Page_Load" + ex);
            }
        }
        public Obligaciones BeginWuc(string id, string tipo, string evento)
        {
            Obligaciones objObligacion = null;
            try
            {

                this.hddIdObligaciones.SetValue(id);
                this.hddTipo.SetValue(tipo);
                this.hddEvento.SetValue(evento);
                if (evento == Valores.PageEvento_Modificar)
                {
                    objObligacion = Obligaciones.GetEditableRoot(Guid.Parse(id));
                    forPanelCiclo.SetValues(new
                    {
                        Alerta = objObligacion.Alerta,
                        AudFechaInicio = objObligacion.FechaInicio.ToShortDateString(),
                        AudPresentacion = objObligacion.Presentacion,
                        Ciclo = objObligacion.Ciclo,
                        Repeticion = objObligacion.Repeticion
                    });
                    X.Js.Call("wucJsPeriodicidad.setReadOnly", objObligacion.Presentacion);
                    btnAceptar.Hide();
                }
                else
                {
                    btnAceptar.Show();
                }
            }
            catch (Exception ex)
            {
                RegistrarLog("wucPeriodicidad.BeginWuc" + ex);
            }
            return (objObligacion);
        }
        public Boolean GetIfUpadate()
        {
            try
            {
                return (Boolean.Parse(this.hddIfUpdate.Value.ToString()));
            }
            catch (Exception ex)
            {
                RegistrarLog("wucPeriodicidad.GetIfUpadate" + ex);
            }
            return false;
        }
        protected void btnGuardar_Click(object sender, DirectEventArgs e)
        {
            try
            {
                string gridJson = e.ExtraParams["prmValues"];
                Int32 nIntval = 0;
                var dataInfo = JSON.Deserialize<Dictionary<string, string>>(gridJson);
                Obligaciones objObligaciones = Obligaciones.GetEditableRoot(Guid.Parse(dataInfo["IdObligaciones"]));
                objObligaciones.FechaInicio = DateTime.Parse(dataInfo["AudFechaInicio"]);
                objObligaciones.Tipo = dataInfo["Tipo"];
                objObligaciones.Alerta = Int32.Parse(dataInfo["Alerta"]);
                objObligaciones.Presentacion = dataInfo["AudPresentacion"];
                objObligaciones.Configuracion = Valores.Codigo_CHAR_Si;
                Int32.TryParse(dataInfo["Repeticion"], out nIntval);
                if (nIntval != 0 && objObligaciones.Presentacion == "P")
                {
                    objObligaciones.Ciclo = dataInfo["AudCiclo"];
                    objObligaciones.Repeticion = nIntval;
                }
                objObligaciones.Save();
                btnAceptar.Disable();
                hddIfUpdate.SetValue(true);
                X.Msg.Show(new MessageBoxConfig
                {
                    Buttons = MessageBox.Button.OK,
                    Icon = MessageBox.Icon.INFO,
                    Title = "Estado",
                    Message = string.Format("{0} {1}", "Ingreso correctamente", "configuraciones generales")
                });


            }
            catch (Exception ex)
            {
                RegistrarLog("wucPeriodicidad.btnGuardar_Click " + ex);
            }
        }
    }
}